package map;

import java.util.*;

/**
 * Map的遍历
 * map提供了三种遍历方式：
 * 1：遍历所有的key
 * 2：遍历每一组键值对
 * 3：遍历所有的value（该操作不常用）
 */
public class MapDemo2 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("语文", 99);
        map.put("数学", 98);
        map.put("英语", 97);
        map.put("物理", 96);
        map.put("化学", 99);
        System.out.println(map);

        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            System.out.println("key = " + key);
        }

       /*
       set entrySet()
       将当前map中每一组键值对以一个entry实例形式边上，并存入set集合后返回
       Java.
        */
        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        for (Map.Entry<String, Integer> e : entrySet) {
            String key = e.getKey();
            Integer value = e.getValue();
            System.out.println(key + ":" + value);
        }
        /*
        Collection values
        将当前map中所有的value以一个集合形式返回
         */
        Collection<Integer> values = map.values();
        for (Integer value :values){
            System.out.println("value = " + value);
        }
    }
}
